@附加资源("../../素材/附加")

类 启动窗口 : 窗口

	@布局配置([[根布局=真,宽度=-1,高度=-1]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,对齐方式=17,纵向布局=真,@位于某组件之上=1]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度DP=100,高度DP=100,背景颜色=-44182]])
	变量 线性布局3 : 线性布局
	@布局配置([[父布局=线性布局3,宽度=-1,高度=-1]])
	变量 相对布局2 : 相对布局
	@布局配置([[父布局=相对布局2,宽度DP=60,高度DP=60,背景颜色=-1,@位于布局中间=真,可视=假]])
	变量 相对布局3 : 相对布局
	@布局配置([[父布局=相对布局2,宽度DP=60,高度DP=60,内容="音",字体大小=45,字体颜色=-1,@位于布局中间=真,对齐方式=17]])
	变量 文本框3 : 文本框
	@布局配置([[父布局=相对布局1,对齐方式=17,纵向布局=真,@位于布局底部=真,ID=1,宽度=-1,高度DP=150]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,对齐方式=17,内容="蓝莓音乐2.0",粗体=真]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=线性布局2,对齐方式=17,内容="皖·20241001_内测版"]])
	变量 文本框2 : 文本框
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,可视=假]])
	变量 启动引导 : 线性布局
	@布局配置([[父布局=启动引导,宽度=-1,高度=-1]])
	变量 分页布局1 : 分页布局
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,背景颜色=-1,可视=假]])
	变量 无网络_相对布局1 : 相对布局
	@布局配置([[父布局=无网络_相对布局1,宽度=-1,高度=-1,对齐方式=17,纵向布局=真,@位于某组件之上=1]])
	变量 无网络_线性布局1 : 线性布局
	@布局配置([[父布局=无网络_线性布局1,宽度DP=250,高度DP=250]])
	变量 无网络_线性布局3 : 线性布局
	@布局配置([[父布局=无网络_线性布局3,宽度=-1,高度=-1]])
	变量 无网络_Lottie加载库1 : Lottie加载库
	@布局配置([[父布局=无网络_相对布局1,对齐方式=17,纵向布局=真,@位于布局底部=真,ID=1,宽度=-1,高度DP=200]])
	变量 无网络_线性布局2 : 线性布局


	变量 时钟1:时钟
	变量 平移动画1 : 偏移动画扩增?
	变量 平移动画2 : 偏移动画扩增?
	变量 透明动画1 : 透明动画扩增?
	变量 缩放动画1 : 缩放动画扩增?
	变量 网络工具_今日推荐:网络工具
	变量 网络工具_歌单推荐:网络工具
	事件 启动窗口:创建完毕()
		订阅事件()
		本对象.屏幕方向 = 1
		本对象.显示标题栏 = 假
		本对象.状态栏字体黑色 = 真
		本对象.状态栏颜色 = 白色
		本对象.导航栏颜色 = 白色
		本对象.启用全屏模式()
		本对象.显示到异形屏区域()
		本对象.相对布局1.背景颜色 = 白色
		平移动画1 = 偏移动画扩增.创建动画(-100,0,0,0)
		平移动画1.播放时间 = 1000
		平移动画1.保持最终状态 = 真
		平移动画2 = 偏移动画扩增.创建动画(100,0,0,0)
		平移动画2.播放时间 = 1000
		平移动画2.保持最终状态 = 真
		透明动画1 = 透明动画扩增.创建动画(0,1)
		透明动画1.插值器 = 减速插值器.新建()
		透明动画1.播放时间 = 1000
		透明动画1.保持最终状态 = 真
		缩放动画1 = 缩放动画扩增.创建动画(0.7,1,0.7,1,0.5,0.5,缩放动画扩增.比例值_基于组件,缩放动画扩增.比例值_基于组件)
		缩放动画1.播放时间 = 1000
		缩放动画1.保持最终状态 = 真

		置圆角背景(线性布局3,文本到颜色值("#FF536A"),50,50,50,0)
		置圆角背景(相对布局3,文本到颜色值("#FF536A"),90,90,90,90)
		文本框3.字体 = "fonts/1.ttf"
		线性布局3.播放动画(透明动画1)
		DX全局设置.初始化(本对象)
	结束 事件

	事件 线性布局3:动画播放完毕()
		时钟1.时钟周期 = 1000
	结束 事件
	事件 时钟1:周期事件()
		时钟1.时钟周期 = 0
		如果 读入文本文件(取数据目录路径()+"/配置文件/个人数据/个人数据")=="" 则
			如果 公用数据.是否使用启动引导==真 则
				线性布局1.可视 = 假
				线性布局2.可视 = 假
				启动引导.可视 = 真
				变量 引导页1:引导页布局1
				变量 引导页2:引导页布局2
				变量 引导页3:引导页布局3
				引导页1.文本框1.字体 = "fonts/1.ttf"
				引导页1.文本框2.字体 = "fonts/1.ttf"
				引导页2.文本框1.字体 = "fonts/1.ttf"
				引导页2.文本框2.字体 = "fonts/1.ttf"
				引导页3.文本框1.字体 = "fonts/1.ttf"
				引导页3.文本框2.字体 = "fonts/1.ttf"
				分页布局1.添加页面(引导页1)
				分页布局1.添加页面(引导页2)
				分页布局1.添加页面(引导页3)
				事件 分页布局1:页面被改变(索引 : 整数)
					假如 索引
						是 0
							引导页1.文本框1.播放动画(平移动画1)
							引导页1.文本框2.播放动画(平移动画2)
						是 1
							引导页2.文本框1.播放动画(平移动画1)
							引导页2.文本框2.播放动画(平移动画2)
						是 2
							引导页3.文本框1.播放动画(平移动画1)
							引导页3.文本框2.播放动画(平移动画2)
							引导页3.文本框_开始使用.播放动画(缩放动画1)
					结束 假如
				结束 事件
				事件 引导页3.按钮_开始使用:被单击()
					弹出授权界面()
				结束 事件
			否则
				弹出授权界面()
			结束 如果
		否则
			申请所有权限()
		结束 如果
	结束 事件

	方法 弹出授权界面()
		变量 授权弹窗1:DX基础对话框
		授权弹窗1.样式(DX样式.MIUI)
		授权弹窗1.标题("用户协议与隐私政策")
		变量 授权弹窗内容:授权弹窗内容布局
		授权弹窗内容.文本框1.加载Html(读入资源文件(本对象,"html/授权内容.htm"))
		授权弹窗1.自定义布局(授权弹窗内容)

		授权弹窗1.按钮1("确定")
		授权弹窗1.按钮2("取消")
		授权弹窗1.按钮纵向显示(真)
		授权弹窗1.可取消(假)
		授权弹窗1.显示()
		事件 授权弹窗内容.按钮_用户协议:被单击()
			协议界面.协议类型="用户协议"
			切换窗口(协议界面)
			播放默认切换动画(2)
		结束 事件
		事件 授权弹窗内容.按钮_隐私政策:被单击()
			协议界面.协议类型="隐私政策"
			切换窗口(协议界面)
			播放默认切换动画(2)
		结束 事件
		事件 授权弹窗1:按钮1被单击() : 逻辑型
			申请所有权限()
			返回 假
		结束 事件
	结束 方法

	事件 启动窗口:申请权限完毕(请求码 : 整数,权限集 : 文本[],允许结果 : 整数[])
		如果 读入文本文件(取数据目录路径()+"/配置文件/个人数据/个人数据")=="" 则
			写出资源文件(本对象,"json/个人数据.json",取数据目录路径()+"/配置文件/个人数据/个人数据")
		结束 如果
		网络工具_今日推荐.取网页源码(公用数据.猜你喜欢接口)

	结束 事件
	事件 网络工具_今日推荐:取网页源码结束(结果 : 文本,内容 : 字节[],cookie : 文本)
		变量 今日推荐对象:JSON对象=结果
		变量 今日推荐标题:文本=今日推荐对象.取JSON数组("lists").取JSON对象(0).取文本("songname")
		变量 今日推荐音乐:文本=今日推荐对象.取JSON数组("lists").取JSON对象(0).取文本("id")
		变量 网络工具_音乐图片:Oks异步
		网络工具_音乐图片.请求链接(公用数据.取音乐图片接口+今日推荐音乐)
		网络工具_音乐图片.GET()
		变量 今日推荐图片连接:文本=网络工具_音乐图片.取结果().到文本()
		网络工具_今日推荐.下载(今日推荐图片连接,取数据目录路径()+"/配置文件/缓存数据/今日推荐图片")
		事件 网络工具_今日推荐:下载结束(cookie : 文本)
			变量 写出今日对象:JSON对象
			写出今日对象.置入("标题",今日推荐标题)
			写出今日对象.置入("音乐",今日推荐音乐)
			写出今日对象.置入("时间",时间操作.取格式时间("yyyyMMdd"))
			写出今日对象.写出到文件(取数据目录路径()+"/配置文件/缓存数据/今日推荐")
			网络工具_歌单推荐.取网页源码(公用数据.推荐歌单接口)
		结束 事件
	结束 事件
	事件 网络工具_今日推荐:取网页源码失败()
		网络工具_歌单推荐.取网页源码(公用数据.推荐歌单接口)
	结束 事件

	事件 网络工具_歌单推荐:取网页源码结束(结果 : 文本,内容 : 字节[],cookie : 文本)
		变量 歌单推荐对象:JSON对象=JsonAndXml.XML到JOSN(结果)
		变量 歌单推荐数组:JSON数组=歌单推荐对象.取JSON对象("root").取JSON对象("section").取JSON数组("songlist")
		循环(歌单推荐索引, 0, 歌单推荐数组.长度)
			推荐页推荐布局.歌单推荐标题集合.添加成员(歌单推荐数组.取JSON对象(歌单推荐索引).取文本("name"))
			推荐页推荐布局.歌单推荐图片集合.添加成员(歌单推荐数组.取JSON对象(歌单推荐索引).取文本("img"))
			推荐页推荐布局.歌单推荐备注集合.添加成员(歌单推荐数组.取JSON对象(歌单推荐索引).取文本("uname"))
			推荐页推荐布局.歌单推荐歌单集合.添加成员(歌单推荐数组.取JSON对象(歌单推荐索引).取文本("id"))

		结束 循环
		公用数据.当前网络=真
		无网络_相对布局1.可视=假
		切换窗口(首页窗口)
		播放默认切换动画(2)
	结束 事件
	变量 重新连接时钟:时钟
	事件 网络工具_歌单推荐:取网页源码失败()
		公用数据.当前网络=假
		无网络_相对布局1.可视=真
		无网络_Lottie加载库1.加载动画("Lottie/无网络.json")
		无网络_Lottie加载库1.是否循环播放(真)
		重新连接时钟.时钟周期 = 3000
		
		//切换窗口(无网络窗口)
		//播放默认切换动画(2)
	结束 事件
	事件 重新连接时钟:周期事件()
		重新连接时钟.时钟周期 = 0
		//无网络_Lottie加载库1.取消播放()
		网络工具_今日推荐.取网页源码(公用数据.猜你喜欢接口)
		结束 事件

	变量 再按一次退出:逻辑型=假
	变量 重置再按一次退出:时钟
	@虚拟方法
	方法 返回键被按下()
		如果 再按一次退出==假 则
			弹出提示("再按一次退出")
			再按一次退出=真
			重置再按一次退出.时钟周期 = 3000
		否则
			返回桌面()
			关闭程序()
		结束 如果
	结束 方法
	事件 重置再按一次退出:周期事件()
		重置再按一次退出.时钟周期 = 0
		再按一次退出=假
	结束 事件

结束 类

类 引导页布局1:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-1]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,对齐方式=17,纵向布局=真,@位于某组件之上=1]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度DP=250,高度DP=250]])
	变量 线性布局3 : 线性布局
	@布局配置([[父布局=线性布局3,宽度=-1,高度=-1]])
	变量 Lottie加载库1 : Lottie加载库
	@布局配置([[父布局=相对布局1,对齐方式=17,纵向布局=真,@位于布局底部=真,ID=1,宽度=-1,高度DP=200]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=相对布局1,内容="极致音质               ",字体大小=18,字体颜色=-38294,@位于布局中间=真,ID=2,粗体=真]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=相对布局1,内容="           聆听世界",字体大小=18,字体颜色=-10364742,@位于某组件之下=2,@与某组件左边平齐=2,粗体=真]])
	变量 文本框2 : 文本框


	事件 引导页布局1:创建完毕()
		订阅事件()
		Lottie加载库1.加载动画("Lottie/1.json")
		Lottie加载库1.是否循环播放(真)
	结束 事件

结束 类
类 引导页布局2:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-1]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,内容="                   音乐分享",字体大小=18,字体颜色=-38294,@位于布局中间=真,ID=2,粗体=真]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=相对布局1,内容="                              懂你所想",字体大小=18,字体颜色=-10364742,@位于某组件之下=2,@与某组件左边平齐=2,粗体=真]])
	变量 文本框2 : 文本框
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,对齐方式=17,纵向布局=真,@位于某组件之上=1]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度DP=250,高度DP=250]])
	变量 线性布局3 : 线性布局
	@布局配置([[父布局=线性布局3,宽度=-1,高度=-1]])
	变量 Lottie加载库1 : Lottie加载库
	@布局配置([[父布局=相对布局1,对齐方式=17,纵向布局=真,@位于布局底部=真,ID=1,宽度=-1,高度DP=200]])
	变量 线性布局2 : 线性布局
	事件 引导页布局2:创建完毕()
		订阅事件()
		Lottie加载库1.加载动画("Lottie/2.json")
		Lottie加载库1.是否循环播放(真)
	结束 事件
结束 类
类 引导页布局3:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-1]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,对齐方式=17,纵向布局=真,@位于某组件之上=1]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度DP=250,高度DP=250]])
	变量 线性布局3 : 线性布局
	@布局配置([[父布局=线性布局3,宽度=-1,高度=-1]])
	变量 Lottie加载库1 : Lottie加载库
	@布局配置([[父布局=相对布局1,对齐方式=17,纵向布局=真,@位于布局底部=真,ID=1,宽度=-1,高度DP=200]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,宽度DP=200,高度DP=50,背景颜色=-9058130,纵向偏移DP=-20]])
	变量 按钮_开始使用 : 线性布局
	@布局配置([[父布局=按钮_开始使用,宽度=-1,高度=-1,对齐方式=17,内容="开始使用",字体大小=15,字体颜色=-1,粗体=真]])
	变量 文本框_开始使用 : 文本框
	@布局配置([[父布局=相对布局1,内容="    ",字体大小=18,字体颜色=-38294,@位于布局中间=真,ID=3,粗体=真]])
	变量 文本框3 : 文本框
	@布局配置([[父布局=相对布局1,内容="轻快简约                   ",字体大小=18,字体颜色=-38294,@位于布局中间=真,ID=2,粗体=真,@位于某组件之下=3]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=相对布局1,内容="              想听就听",字体大小=18,字体颜色=-10364742,@位于某组件之下=2,@与某组件左边平齐=2,粗体=真]])
	变量 文本框2 : 文本框

	事件 引导页布局3:创建完毕()
		订阅事件()
		置圆角背景(按钮_开始使用,文本到颜色值("#75C8AE"),15,15,15,15)
		Lottie加载库1.加载动画("Lottie/3.json")
		Lottie加载库1.是否循环播放(真)
	结束 事件
结束 类

类 授权弹窗内容布局:组件容器

	@布局配置([[根布局=真,宽度=-1,高度DP=170,内边距DP=15]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,显示滚动条=真,完全显示=真,@位于某组件之上=1]])
	变量 滚动布局1 : 滚动布局
	@布局配置([[父布局=滚动布局1,宽度=-1,高度=-2]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,宽度=-1,高度=-1]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-2,@位于布局底部=真,ID=1,@上外边距DP=15]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,选中=真,内容="我已同意",字体大小=15]])
	变量 单选框1 : 单选框
	@布局配置([[父布局=线性布局1,字体大小=15,内容="《用户协议》",字体颜色=-9927210]])
	变量 按钮_用户协议 : 文本框
	@布局配置([[父布局=线性布局1,字体大小=15,内容="及"]])
	变量 文本框3 : 文本框
	@布局配置([[父布局=线性布局1,字体大小=15,内容="《隐私政策》",字体颜色=-9927210]])
	变量 按钮_隐私政策 : 文本框

结束 类

类 协议界面:窗口

	@布局配置([[根布局=真,宽度=-1,高度=-1,背景颜色=-15329245]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,对齐方式=17,内容="用户协议",粗体=真,字体颜色=-1,字体大小=16,ID=1,高度DP=50]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=相对布局1,对齐方式=17,宽度DP=50,高度DP=50]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,@布局对齐方式=17,图片资源="../../素材/内置/png/返回.png",宽度DP=25,高度DP=25]])
	变量 图片框1 : 图片框
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,@位于布局底部=真,@位于某组件之下=1,左内边距DP=20,上内边距DP=8,下内边距DP=20,右内边距DP=20]])
	变量 相对布局3 : 相对布局
	@布局配置([[父布局=相对布局3,宽度=-1,高度=-1,显示进度条=假,可视=真]])
	变量 浏览框1 : 浏览框

	@静态
	变量 协议类型:文本
	事件 协议界面:创建完毕()
		本对象.屏幕方向 = 1
		本对象.显示标题栏 = 假
		本对象.状态栏字体黑色 = 假
		本对象.状态栏颜色=-15329245
		本对象.导航栏颜色 = -15329245
		订阅事件()
		文本框1.内容 = 协议类型
		浏览框1.背景颜色 = -15329245
		浏览框1.网址 = "file:///android_asset/html/"+协议类型+".htm"
	结束 事件

	事件 线性布局2:被单击()
		返回键被按下()
	结束 事件

	@虚拟方法
	方法 返回键被按下()
		父对象.返回键被按下()
		关闭窗口()
		播放默认切换动画(2)
	结束 方法

结束 类

类 无网络窗口:窗口

	@布局配置([[根布局=真,宽度=-1,高度=-1,背景颜色=-1]])
	变量 无网络_相对布局1 : 相对布局
	@布局配置([[父布局=无网络_相对布局1,宽度=-1,高度=-1,对齐方式=17,纵向布局=真,@位于某组件之上=1]])
	变量 无网络_线性布局1 : 线性布局
	@布局配置([[父布局=无网络_线性布局1,宽度DP=250,高度DP=250]])
	变量 无网络_线性布局3 : 线性布局
	@布局配置([[父布局=无网络_线性布局3,宽度=-1,高度=-1]])
	变量 无网络_Lottie加载库1 : Lottie加载库
	@布局配置([[父布局=无网络_相对布局1,对齐方式=17,纵向布局=真,@位于布局底部=真,ID=1,宽度=-1,高度DP=200]])
	变量 无网络_线性布局2 : 线性布局


	事件 无网络窗口:创建完毕()
		订阅事件()
		本对象.屏幕方向 = 1
		本对象.显示标题栏 = 假
		本对象.状态栏字体黑色 = 真
		本对象.状态栏颜色 = 白色
		本对象.导航栏颜色 = 白色
		无网络_Lottie加载库1.加载动画("Lottie/无网络.json")
		无网络_Lottie加载库1.是否循环播放(真)
	结束 事件



结束 类